var $dataInfo = $('#courseJoinManagerTable');

//防止表头与表格不对齐
$(window).resize(function () {
    $dataInfo.bootstrapTable('resetView');
});


$(function () {
    dataInfoInit();
});

/**
 * 课程管理
 */
function dataInfoInit() {
    //先销毁表格
    $dataInfo.bootstrapTable('destroy');
    $dataInfo.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/courseArrange/getCourseManagerList',//请求地址
        method: 'get',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'courseArrangeId',
        idField: 'courseArrangeId',
        pageSize: globalPageSize,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: globalPageList,//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedNumber: 4,         // 左侧固定列
        // fixedRightNumber: 1,    // 右侧固定列
        queryParams: queryParams,//查询参数
        columns: [
            {title: '主键', field: 'courseArrangeId', visible: false},
            {title: '序号', width:'10', field: 'index', align: 'center', valign: 'middle', formatter: indexFormat},
            {title: '课程名称', field: 'courseName', align: 'left', valign: 'middle'},
            {title: '课程状态', width:'15',field: 'courseStatus', align: 'left', valign: 'middle'},
            {title: '开课日期', width:'20', field: 'courseStartTm', align: 'left', valign: 'middle'},
            {title: '参课地点', field: 'courseStartPlace', align: 'left', valign: 'middle'},
            {title: '操作', field: 'operate', align: 'right', formatter: genderOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}


/**
 * 自定义操作列内容
 */
function genderOpt(value, row, index) {
    var html = '<button type="button" class="btn btn-default" onclick="checkRegist(\'' + row.courseArrangeId+ '\',\''+row.courseName+ '\',\''+row.courseStartTm+ '\',\''+row.courseStatus+ '\',\''+row.courseStartPlace + '\')"><i class="mdi mdi-eye"></i>查看报名</button>';
    return html;
}


/**
 * 拼接查询条件参数
 */
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    params.bs = '0';  //0管理端 1用户端
    return params;
}


/**
 * 时间转换
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function dateFormat(value, row, index) {
    if (value != null) {
        var date = new Date(value);
        var month = date.getMonth()+1;
        var tian = date.getDate();
        var hour = date.getHours();
        var minute = date.getMinutes();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (tian >= 1 && tian <= 9) {
            tian = "0" + tian;
        }
        if (hour >= 1 && hour <= 9) {
            hour = "0" + hour;
        }
        if (minute >= 1 && minute <= 9) {
            minute = "0" + minute;
        }

        return date.getFullYear() + '-' + month + '-' + tian + ' ' +hour+':'+minute;
    }
}


/**a
 * 根据课程ID跳转到查看报名列表-管理端
 * @param courseArrangeId
 */
function checkRegist(courseArrangeId,courseName,courseStartTm,courseStatus,courseStartPlace) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '课程报名列表',
        url: "/front/courseManager/managerCourseRegistList?courseArrangeId=" + courseArrangeId +"&courseName="+courseName +"&courseStartTm="+courseStartTm+"&courseStatus="+courseStatus+"&courseStartPlace="+courseStartPlace
    }, true);
}



